home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 004 / hurrican.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-04-19  |  17.6 KB  |  97 lines

  1. 1  ' HURRICAN TRACKER 1.1 - 7/27/84  WHMC
  2. 80  KEY OFF:DEF SEG=0:POKE &H417, &H40
  3. 82  GOSUB 3000
  4. 90  DEFINT I
  5. 100  DIM C$(15),D$(50),T$(50),X(50),Y(50),MAPXY(20,2),IMAP(50,2),E$(50),HURICARRAY(90),STOR.SCR(4002)
  6. 110  U$="&    &  ##.#  ###.#  ####.# MI    ##.# MPH  ###.# DEG &"
  7. 120  M$="& & ##.# ###.#"
  8. 130  V$="  &  &  ###.#  ###.#  ####.# MI  ##.# MPH ###.# DEG &"
  9. 140  MAP0$="F2G2F2D5L1G1F2G2L2M-20,+14M-2,+4L3M-4,+12D8M+4,+8M+4,+10D1F2G2M-3,+8D2G2L3U3M-5,-7L2U2E2U1H4U6H2U6H8L4G4H4L4U2G2L16D2F2D1G1F2L6G1L6M-6,-4G2M-12,-2G4M-16,+10D15G6D17F2M+12,+18M+10,+6R8F2R11U2M+5,-8U8M+15,-5F1R6M+2,+6G5D6G2M-2,+6"
  10. 150  MAP1$="L2U4G2D10G4D1M+4,+3R13E2F2R3F1R6D2M+2,+1R4F1G1F1D4G2D8G2D2F2G2F2D2F3D2R3M+7,+2M+12,-4R8M+8,+6M+8,-6R2U3M+5,-3R4E2R6M+12,-5F2D2G4D2R12E2U3E1R3F3R4F1D1R18F3M+19,-2D4R5M+6,+8M+10,+4" 'GULF SIDE AND SOUTH AMERICA
  11. 160  MAP2$="BM-16,-18L4U3R2E2R2F1D4L2BM-4,-14U1BM+2,-2U2BM-2,-2U1BM-1,-2U2BU3U1L1U1G3F1E1R1BM-6,-4U1BM-2,-2U1BM-2,-4U1BU2U1BH2U1BG4U1BL6L2BL4BU3G2L8U3H2RR2F1R5F2BL20" ' LITTLE ISLANDS PUERTO RICO
  12. 170  MAP3$="E2U2M-6,-2E2L3H1L2M-11,-3G2H1L6G2D1M+5,+3D4L12F3R13F4E4R3E2R4F1E2BL54L6G3R2F3R10E1U2L3H3BM-33,-18U2H1L2G1D2R4BL12BU6" ' HAITI , JAMAICA
  13. 180  MAP4$="C2E2R2U3R3E2M+10,-2M+10,+2F4R6D2M+11,+7R2F2R4F2R4D2M-10,+3H1L6M-9,+2E5H2M-7,-2H4M-10,-3H2M-12,+2L4C3" 'CUBA
  14. 190  MAP5$="BM+42,-13U2L1D2BU4U3H3G1D2F3BM+3,-6U2BU8BR1D2R1U2H3BL2U1L3D1NR3L3BM+17,+8L4D1R4F1BF4F3U1H3BG4F3D1BE3BR4BD1D2F3U1H2BR6BD5F1R3D2G3L1E2U1H2" '                NASSAU AND BAHAMAS
  15. 200  MAP6$="F4D3M+4,+5D2F2D3M-2,+3R2D2F14R10F4M+30,+12F2M+10,-4U1R3D2R4F15R6M+20,+8M+14,+4M+13,+14D5F4R3U3M+7,+4D3F2D2" 'PACIFIC SIDE (SET X,Y=96,0)
  16. 210  MAP7$="M+4,+2D2M+9,+11D4R1M+5,+7R3M+4,-6R8F3R3F1D3M+8,+10D2M+6,+5R3M+9,+4"    '  TEXAS BORDER
  17. 220  STORM$="R2E1U1H1L3G2D3F2R3E4U2H4L4G4D4F5"
  18. 230  HUR$="BH4U1E3R3D1U2L3G2D4L1BF8D1G3L3U1D2R3E2U4R1BH4"
  19. 240  FOR I=0 TO 19:READ MAPXY(I,0):READ MAPXY(I,1):NEXT ' 0-10=X, 11-17=Y
  20. 250  DATA 0,319,60,312,65,275,70,242,75,210,80,180,85,150,90,117,95,83,100,47,105,12,120,0
  21. 260  DATA 0,199,10,185,15,158,20,125,25,90,30,50,35,8,50,0
  22. 270  GOSUB 2410
  23. 272  GOSUB 2500
  24. 274  GOSUB 1310
  25. 280  FOR I=1 TO 22:PRINT :NEXT
  26. 290  COLOR 0,7:LOCATE 3,5:PRINT"H U R R I C A N E       T R A C K E R (c)"
  27. 291  LOCATE 5,2:PRINT"Generate your own Tracking Record of Tropical Storms or Hurricanes":COLOR 7,0:PRINT
  28. 300  LINE INPUT "      What is the name of the HURRICANE/STORM? ";A$
  29. 310  PRINT "      Any";:COLOR 4,0:PRINT " NEW ";:COLOR 7,0:INPUT "coordinates to add (Y or N)";Z$
  30. 320  IF Z$="" THEN 470
  31. 330  IF Z$="N" OR Z$="n" THEN 470
  32. 340  PRINT :PRINT :PRINT
  33. 350  OPEN A$ FOR APPEND AS #1
  34. 360  PRINT :PRINT "      Enter new data ( or <END>)"
  35. 370  INPUT "     Enter DATE (MM/DD/YY) ";D$
  36. 380  IF D$="END" OR D$="end" THEN 460
  37. 390  IF LEN(D$) <> 8 THEN LOCATE CSRLIN-1,1:COLOR 23,0:PRINT "   Form must be  MM/DD/YY   ";:COLOR 7,0:PRINT :GOTO 370
  38. 400   INPUT "     Enter TIME (16:45)   ";T$
  39. 410  IF LEN(T$) <> 5 THEN LOCATE CSRLIN-1,1:COLOR 23,0:PRINT "   Form must be  15:30   ";:COLOR 7,0:PRINT :GOTO 400
  40. 420  INPUT "     Enter LATITUDE  == (xx.x) ";Y
  41. 422  IF (Y <10) OR (Y >35) THEN PRINT "MUST BE >10 NORTH OR <35 NORTH.":GOTO 420
  42. 430  INPUT "     Enter LONGITUDE || (xx.x) ";X
  43. 435  IF (X <60) OR (X >105) THEN PRINT "MUST BE >60 WEST OR <105 WEST.":GOTO 430
  44. 440  WRITE #1, D$;T$;X;Y
  45. 450  GOTO 360
  46. 460  CLOSE #1
  47. 470  PRINT :INPUT "Do you want a hard copy (Y or N)";Z$
  48. 475  ' CLS
  49. 480  IF Z$="Y" OR Z$="y" THEN H=1 ELSE H=0
  50. 490  IF H=1 THEN 510
  51. 500  PRINT :PRINT :PRINT
  52. 510  OPEN A$ FOR INPUT AS #1
  53. 520  P1=20 'Set page counter
  54. 530  INPUT #1,D$,T$,X,Y
  55. 535  PRINT "              Initial tracking began on - ";D$;" , at - ";T$
  56. 537  IF H=1 THEN LPRINT "              Initial tracking began on - ";D$;" , at - ";T$
  57. 540  PRINT "  Hurricane ";A$;"'s Initial Position was LATITUDE -";Y;", LONGITUDE -";X;
  58. 550  IF H=1 THEN LPRINT "       Hurricane ";A$;"'s Initial Position was LAT -";Y;" , LON -";X;
  59. 560  OLDDAY=VAL(MID$(D$,4,2))
  60. 562  TH=VAL(LEFT$(T$,2))*100:TM=VAL(MID$(T$,4,2))
  61. 564  OLDTIME=TH+TM 'STORE ORIGINAL TIME
  62. 566  COUNT = 0:ASOA = 0:TSOA = 0
  63. 570  PRINT STRING$(80,61)
  64. 575  IF H=1 THEN LPRINT STRING$(80,61)
  65. 580  X0=X
  66. 590  Y0=Y
  67. 600  IF EOF(1) THEN 750
  68. 610  INPUT #1,D1$,T1$,X1,Y1
  69. 620  GOSUB 1040
  70. 630  IF P1<20 THEN 665
  71. 640  COLOR 2,0:PRINT "  DATE      TIME   LAT    LON    DISTANCE     SPEED     DIRECTION OF TRAVEL";:COLOR 7,0:PRINT
  72. 650  IF H=1 THEN LPRINT "    DATE    TIME    LAT    LON    DISTANCE   SPEED    DIRECTION OF TRAVEL"
  73. 660  P1=1
  74. 665  GOSUB 2800
  75. 670  PRINT USING U$;D1$,T1$,Y1,X1,Q,SOA,D,C$
  76. 680  IF H=1 THEN LPRINT USING V$;D1$,T1$,Y1,X1,Q,SOA,D,C$
  77. 690  IF H=0 THEN P1=P1+1 ELSE 720
  78. 700  IF P1<>20 THEN 720
  79. 710  INPUT "     Press <ENTER> to continue";Z$
  80. 720  X=X1
  81. 730  Y=Y1
  82. 740  GOTO 600
  83. 750  X=X0
  84. 760  Y=Y0
  85. 770  GOSUB 1040
  86. 780  T2=D:ASOA = TSOA/COUNT 'compute average speed of advance
  87. 790  PRINT :PRINT "TOTAL movement has been ";T2;" DEGREES ";C$;" AT ";ASOA;" MPH":PRINT
  88. 800  IF H=1 THEN LPRINT :LPRINT USING "    TOTAL MOVEMENT HAS BEEN ##.# DEGREES & AT ##.# MPH";T2,C$,ASOA:ASOA=0
  89. 810  IF CITY=1 THEN X=97.22 : Y=27.48 'x=long, y=lat of city to track to
  90. 811  IF CITY=2 THEN X=96.56 : Y=28.51
  91. 812  IF CITY=3 THEN X=97.93 : Y=26.43
  92. 813  IF CITY=4 THEN X=94.65 : Y=29.45
  93. 814  IF CITY=5 THEN X=89.56 : Y=30.05
  94. 815  IF CITY=6 THEN X=80.05 : Y=26.21
  95. 816  IF CITY=7 THEN X=80.17 : Y=25.43
  96. 817  IF CITY=8 THEN X=0
  97.